<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>MSF for Agile Software Development</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="css/msf.css" type="text/css" rel="stylesheet" />
    <script language="JavaScript" src="CODE/header.js"></script>
    <script language="JavaScript" src="CODE/footer.js"></script>
    <script language="JavaScript" src="CODE/msf.js"></script>

</head>
<body onload="javascript:setCheckboxValue();initOverviewCookie();" marginheight="0"
    marginwidth="0">
    <!-- start header -->
    <table class="idheader" height="70" cellspacing="0" cellpadding="0" width="100%"  border="0">
        <tbody>
            <tr>
                <td width="*">
                    <img height="71" alt="MSF for Agile Software Development" src="images/header_agile.gif" width="400" /></td>
                <td width="115">
                    <img id="vstslogo" height="40" alt="Visual Studio Team System logo" src="images/header_vsts_logo.gif"
                        width="320" /></td>
            </tr>
            <tr bgcolor="#5373ad" height="1">
                <td colspan="2">
                    <img height="1" src="images/clear.gif" width="1" alt="" /></td>
            </tr>
        </tbody>
    </table>
    <!-- end  header -->
    <!-- start breadcrumbs and tabs -->
    <table class="tabrow" height="28" cellspacing="0" cellpadding="0" width="100%" border="0">
        <tbody>
            <tr>
                <td width="164">
                    <img height="1" src="images/clear.gif" width="164" alt="" /></td>
                <td class="bottom">
                    <div id="TabsHTML" style="margin: 0pt">
                        <table cellspacing="0" cellpadding="0" width="100%" border="0" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                            xmlns:some-prefix="some-uri" xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-10-13T22:49:49"
                            xmlns:mstns="http://tempuri.org/XMLSchema.xsd">
                            <tbody>
                                <tr>
                                    <td class="taboff" width="80"><a class="taboff" onclick="javascript:doLink('Concepts');" href="Concepts.htm">Overview</a></td><td width="6"><img src="images/clear.gif" alt=""/></td>
<td class="taboff" width="80"><a class="taboff" onclick="javascript:doLink('AboutRoles');" href="AboutRoles.htm">Roles</a></td><td width="6"><img src="images/clear.gif" alt=""/></td>
<td class="taboff" width="80"><a class="taboff" onclick="javascript:doLink('AboutWorkItems');" href="AboutWorkItems.htm">Work Items</a></td><td width="6"><img src="images/clear.gif" alt=""/></td>
<td class="taboff" width="80"><a class="taboff" onclick="javascript:doLink('AboutViews');" href="AboutViews.htm">Views</a></td><td width="6"><img src="images/clear.gif" alt=""/></td>
<td class="tabon" width="80"><a class="tabon" onclick="javascript:doLink('WorkStreamsIndex');" href="WorkStreamsIndex.htm">Index</a></td><td width="6"><img src="images/clear.gif" alt=""/></td>

                                    <td width="6">
                                        <img src="images/clear.gif" alt="" /></td>
                                    <td align="right" width="*">
                                        <div style="margin-top: 3pt">
                                            <p class="p1a">
                                                <a onclick='javascript:open_window1("glossary.htm")' href="#">Glossary</a></p>
                                        </div>
                                    </td>
                                    <td width="38">
                                        <img src="images/clear.gif" alt="" /></td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                    <!-- end tabs -->
                </td>
            </tr>
        </tbody>
    </table>
    <!-- end breadcrumbs and tabs -->
    <!-- start main body table-->
    <table class="bodytable" cellspacing="0" cellpadding="0" width="100%" border="0">
        <tbody>
            <tr>
                <!-- start left column with navigation -->
                <td width="140">
                    <div id="leftside">
                        <div id="sidemenuHTML">
                            <div style="margin: 6px 0px 5px 20px" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                                xmlns:some-prefix="some-uri" xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-10-13T22:49:49"
                                xmlns:mstns="http://tempuri.org/XMLSchema.xsd">
                                <p class="p1a">
                                    <a class="nav" onclick="javascript:doPortal('click')" href="#">Project Portal<img
                                        height="9" alt="link arrow" src="images/right-arrow.gif" width="9" border="0" /></a></p>
                            </div>
                            <table cellspacing="0" cellpadding="0" width="140" border="0" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                                xmlns:some-prefix="some-uri" xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-10-13T22:49:49"
                                xmlns:mstns="http://tempuri.org/XMLSchema.xsd">
                                <tbody>
                                    <tr>
                                        <td width="12">
                                            <img height="12" src="images/b_nav_topleft.gif" width="12" alt="" /></td>
                                        <td class="leftnavtop">
                                            <img src="images/clear.gif" alt="" /></td>
                                        <td width="1" background="images/dots.gif" rowspan="3">
                                            <img src="images/dots.gif" alt="" /></td>
                                    </tr>
                                    <tr>
                                        <td background="images/b_nav_left.gif">
                                            <img src="images/b_nav_left.gif" alt="" /></td>
                                        <td class="leftnavtable">
                                            <table cellspacing="0" cellpadding="0" width="100%" border="0">
                                                <tbody>
                                                    <tr><td class="nav-off"><a class="nav" onclick="javascript:doLink('WorkStreamsIndex');" href="WorkStreamsIndex.htm">Work Streams</a></td></tr>
<tr><td class="nav-off"><a class="nav" onclick="javascript:doLink('ActivitiesIndex');" href="ActivitiesIndex.htm">Activities</a></td></tr>
<tr><td class="nav-off"><a class="nav" onclick="javascript:doLink('WorkItemsIndex');" href="WorkItemsIndex.htm">Work Items</a></td></tr>
<tr><td class="nav-off"><a class="nav" onclick="javascript:doLink('WorkProductsIndex');" href="WorkProductsIndex.htm">Work Products</a></td></tr>
<tr><td class="nav-select"><a class="nav" onclick="javascript:doLink('ReportsIndex');" href="ReportsIndex.htm">Reports</a></td></tr>
<tr><td class="nav-off"><a class="nav" onclick="javascript:doLink('QueriesIndex');" href="QueriesIndex.htm">Queries</a></td></tr>
<tr><td class="nav-off"><a class="nav" onclick="javascript:doLink('HowtoIndex');" href="HowtoIndex.htm">How To's</a></td></tr>

                                                </tbody>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <img src="images/b_nav_bottomleft.gif" alt="" /></td>
                                        <td class="leftnavbottom">
                                            <img src="images/clear.gif" alt="" /></td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                        <!-- start left column see also area -->
                        <div id="SeeAlsoHTML">
                            
                        </div>
                        <!-- end left column see also area -->
                    </div>
                </td>
                <!-- end left column with navigation -->
                <!-- start center content area -->
                <td>
                    <table cellspacing="0" cellpadding="0" width="100%" border="0">
                        <tbody>
                            <tr>
                                <td>
                                    <img src="images/b_topleft.gif" alt="" /></td>
                                <td background="images/b_top.gif">
                                    <img height="15" src="images/b_top.gif" width="300" alt="" /></td>
                                <td>
                                    <img src="images/b_topright.gif" alt="" /></td>
                            </tr>
                            <tr>
                                <td background="images/b_left.gif">
                                    <img src="images/b_left.gif" alt="" /></td>
                                <!-- Start XSL3 -->
                                <td id="XSL3" width="100%" bgcolor="#ffffff">
                                    <div style="height: 280pt" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:some-prefix="some-uri"
                                        xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                        xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-10-13T22:49:49"
                                        xmlns:mstns="http://tempuri.org/XMLSchema.xsd">
                                        <p class="title3">Report</p>
                                        <p class="title2">Quality Indicators</p>
                                        <div style="margin-top: 12px">
                                            <table id="Table1" cellspacing="0" cellpadding="0" border="0">
                                                <tbody>
                                                    <tr>
                                                        <td>
                                                       
                                                            <img class="small_icons" height="35" alt="" src="images/i_role_2.gif" width="35"/></td>
                                                        <td>
                                                            <img height="1" src="images/clear.gif" width="8"/></td>
                                                        <td>
                                                                <p class="p1c"><a onclick="javascript:doLink('Developer');" href="Developer.htm">Developer</a></p>
<p class="p1c"><a onclick="javascript:doLink('ReleaseManager');" href="ReleaseManager.htm">Release Manager</a></p>

                                                        </td>
                                                        <td>
                                                            <img height="1" src="images/clear.gif" width="20"/>
                                                        </td>
                                                        <td>
                                 
                                                            <img class="small_icons" height="35" alt="" src="images/i_workstreams_2.gif" width="35"/>
                                                        </td>
                                                        <td>
                                                            <img height="1" src="images/clear.gif" width="8"/>
                                                        </td>
                                                        <td>
                                                                <p class="p1c"><a onclick="javascript:doLink('BuildaProduct');" href="BuildaProduct.htm">Build a Product</a></p>
<p class="p1c"><a onclick="javascript:doLink('ReleaseaProduct');" href="ReleaseaProduct.htm">Release a Product</a></p>

                                                                
                                                        </td>
                                                        <td>
                                                            <img height="1" src="images/clear.gif" width="20"/>
                                                        </td>
                                                        <td>
                                                       
                                                        </td>
                                                        <td>
                                                            <img height="1" src="images/clear.gif" width="8"/>
                                                        </td>
                                                        <td>
                                     
                                                                
                                                        </td>
                                                        <td>
                                                            <img height="1" src="images/clear.gif" width="14"/>
                                                        </td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </div>
                                        

					<h1>Description</h1>

					<div class='raci'><table cellspacing='0' cellpadding='0' border='0'><tbody><tr><td width='2' bgcolor='#5f7cb0'><img src="images/clear.gif" alt='' /></td><td width='4'><img src="images/clear.gif" atl='' /></td><td><p class='p1a'><b>Activities using this report</b></p><ul class='bodyitem_unit'><li class='bodyitem'><a onclick="javascript:doLink('AcceptBuild');" href="AcceptBuild.htm">Accept Build</a></li>
<li class='bodyitem'><a onclick="javascript:doLink('ReleaseaProduct');" href="ReleaseaProduct.htm">Release a Product</a></li>
</ul></td></tr></tbody></table></div>

                                        <p class="p1">
                                            What is the quality of the software? Ideally, test rates, bugs, and code churn would all produce the same picture, but often they do not. When you find a discrepancy, you need to examine in further detail the appropriate build and data series. This graph combines the test results, code coverage from testing, code churn, and bugs, to help you see many perspectives at once.</p>
                                        <h1>Healthy Example</h1><br /><div><img src="images/healthy_qualityindicators.gif" border="0" /><p class="p1c">Code coverage and test pass rates are high and climbing over time. Code churn, active bugs, inconclusive tests, and failed tests are all low and falling. </p></div><h1>Data Series</h1><table class="data" style="BORDER-BOTTOM-COLOR: #bfcbdf; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #bfcbdf; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-COLLAPSE: collapse; BORDER-BOTTOM-STYLE: solid" borderColor="#ffffff" cellSpacing="0" cellPadding="4" border="1"><tbody><tr><th>Line</th><th>Description</th></tr><tr><td class="row_bottom"><p class="p1c"><strong>Bars</strong></p></td><td class="row_bottom"><p class="p1c"><ul><li>The height of the bar shows you how many tests have been run, and of those, how many have returned Pass, Fail, and Inconclusive results.</li></ul></p><p></p></td></tr><tr><td class="row_bottom"><p class="p1c"><strong>Code Coverage</strong></p></td><td class="row_bottom"><p class="p1c"><ul><li>The first series of points is the Code Coverage attained by those tests (specifically, the ones run with code coverage enabled). Ordinarily, as more tests are run, more code should be covered. On the other hand, if test execution and test pass rates rise without a corresponding increase in code coverage, then it may indicate that the incremental tests are redundant.</li></ul></p><p></p></td></tr><tr><td class="row_bottom"><p class="p1c"><strong>Code Churn</strong></p></td><td class="row_bottom"><p class="p1c"><ul><li>The second series of points is Code Churn; i.e. the number of lines added and modified in the code under test. High churn obviously indicates a large amount of change and the corresponding risk that bugs will be introduced as the side effect of the changes. In a perfectly refactored project, you can see code churn with no change in code coverage or test pass rates. Otherwise, high code churn may indicate falling coverage and the need to rewrite tests.</li></ul></p><p></p></td></tr><tr><td class="row_bottom"><p class="p1c"><strong>Active Bugs</strong></p></td><td class="row_bottom"><p class="p1c"><ul><li>The third series is the active bug count. Clearly, there should be a correlation between the number of active bugs and the number of test failures. If the active bug count is rising and your tests are not showing corresponding failures, then your tests are probably not testing the same functionality that the bugs are reporting. Similarly, if active bug count is falling and test pass rates are not increasing, then you may be at risk for a rising reactivation rate.</li></ul></p><p></p></td></tr></tbody></table><h1>Unhealthy Examples</h1><br /><div><img src="images/unhealthyqualityindicators.jpg" border="0" /><p class="p1c">This quality indicators report shows a decrease in code coverage and an increase in code churn for Build 32. This is a clear warning that new code is being checked in without corresponding unit tests to cover it.</p></div><br /><div><img src="images/unhealthyqualityindicators2.jpg" border="0" /><p class="p1c">This quality indicators report shows a low rate of tests being run. This would probably mean that too little testing is occurring. This could be due to lack of resources, or it could be that testers are doing something else, such as writing test automation rather than testing the current functionality. In either case, resource balancing may be warranted.</p></div><br /><div><img src="images/unhealthyqualityindicators3.jpg" border="0" /><p class="p1c">This quality indicators report shows a high test pass rate, but still a large incoming bug rate. Even worse, customers and beta users may be reporting lots of bugs that testing is missing. This can occur for several reasons. The tests may be too gentle for this stage of the product. In early iterations, gentle tests are good, but as the product matures, tests should exercise broader scenarios and integrations. Tests might be stale or be testing the wrong functionality. Finally, it may be time to switch test techniques.</p></div><br /><div><img src="images/unhealthyqualityindicators4.jpg" border="0" /><p class="p1c">This quality indicators report shows a high rate of code churn and a low rate of code coverage from testing. Yet test pass rates remain high. This indicates that the tests being run are not exercising the new code.</p></div><br /><div><img src="images/unhealthyqualityindicators5.jpg" border="0" /><p class="p1c">This quality indicators report shows that many tests are being run, with reasonable code coverage, but the tests are failing. This is probably an indicator of loose development practices, although in early iterations, it might be an indicator that the tests are too harsh for this stage of the product.</p></div>
                                    </div>
                                </td>
                                <!-- End XSL3 -->
                                <!--  END CENTER ************************* -->
                                <td background="images/b_right.gif">
                                    <img src="images/b_right.gif" alt="" /></td>
                            </tr>
                            <tr>
                                <td>
                                    <img src="images/b_bottomleft.gif" alt="" /></td>
                                <td background="images/b_bottom.gif">
                                    <img src="images/b_bottom.gif" alt="" /></td>
                                <td>
                                    <img src="images/b_bottomright.gif" alt="" /></td>
                            </tr>
                        </tbody>
                    </table>
                    <!-- footer -->

                    <script>doFooter()</script>

                    <img height="10" src="images/clear.gif" width="1" alt="" />
                    <center>
                        <p class="p1a">
                            <a href="EULA/_EULA.txt">© 2005-2007 Microsoft Corporation. All rights reserved.</a></p>
                    </center>
                    <center>
                        <p class="p1a">
                            MSF for Agile Software Development 4.2</p>
                    </center>
                    <img height="20" src="images/clear.gif" width="1" alt="" />
                    <!-- end footer -->
                </td>
                <!-- endcenter content area -->
                <!-- start right margin -->
                <td width="20">
                    <img height="1" src="images/clear.gif" width="12" alt="" /></td>
                <!-- end left margin -->
            </tr>
        </tbody>
    </table>
    <!-- end main body table -->

    <script language="JScript" src="Code/Iceberg.js" defer="true" type="text/JScript"></script>

</body>
</html>
